package com.java.Utils.commons_io;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;

public class CommonsIO {
    public static void main(String[] args) throws IOException {
        String fromDirPath = "File和IO流\\com\\java\\files\\copy\\from";
        String fromFilePath = "File和IO流\\com\\java\\files\\copy\\from\\students.txt";
        String toDirPath = "File和IO流\\com\\java\\files\\copy\\to";
        String toFilePath = "File和IO流\\com\\java\\files\\copy\\to\\to.txt";

        // copyFile：复制文件。文件到文件
        FileUtils.copyFile(new File(fromFilePath), new File(toFilePath));

        // copyDirectory：复制文件夹，只复制当前文件夹下的内容。文件夹到文件夹
        FileUtils.copyDirectory(new File(fromDirPath), new File(toDirPath));

        // copyDirectoryToDirectory：复制文件夹，同时复制当前文件夹和该文件夹下的内容。文件夹到文件夹
        FileUtils.copyDirectoryToDirectory(new File(fromDirPath), new File(toDirPath));

        // cleanDirectory：清空文件夹。当前文件夹不会被删除
        FileUtils.cleanDirectory(new File(toDirPath, "from\\child"));

        // deleteDirectory：删除文件夹。当前文件夹不会被删除
        FileUtils.cleanDirectory(new File(toDirPath, "from"));

        // write：写出数据到文件。清空文件后写
        FileUtils.write(new File(toFilePath), "滚滚滚", "UTF-8");

        // readFileToString：以字符串形式读取文件内容
        String str = FileUtils.readFileToString(new File(toFilePath), "UTF-8");
        System.out.println(str); // 滚滚滚
    }
}
